In a typical cable television system, subscribers are provided with a set-top terminal that is used to connect the subscriber's television, and potentially other electronic equipment, with the cable network.
The set-top terminal is usually connected to the cable network through a co-axial wall outlet. The set-top terminal is essentially a computer that is programmed to process the signals from the cable network so as to provide the subscriber with the cable services. These services from the cable television company typically include access to a number of television channels and, perhaps, an electronic programming guide (EPG). Additional premium channels may also be provided to subscribers for an additional fee. Pay-per-view events and video-on-demand service may also be provided over the cable network. The set-top terminal is programmed to provide these services to the subscriber.
However, the services of the cable company need not be limited to providing television programming. Some cable companies are now offering internet access and e-mail service over their cable networks at speeds much faster than are available over conventional telephone lines. It is anticipated in the future that more and more services will be provided over the cable network. Eventually, each home or office may have a single connection, via the cable network, to all electronic data services.
As the cable network and the services provided evolve, the set-top terminal must also evolve so as to be able to provide subscribers with all the services available from the cable network that are of interest to those subscribers. This set-top terminal evolution will primarily involve changes to the programming of the set-top terminal. By upgrading the software or firmware of the set-top terminal, the terminal can be made to perform more efficiently or offer new services as the cable network evolves.
In order to upgrade the population of set-top terminals on a cable network, it is preferable to transmit the new programming to the set-top terminals via the cable network itself. Otherwise, a technician must visit each subscriber to upgrade or re-program that subscriber's set-top terminal. Such field upgrades would obviously be at significant expense.
The headend is the facility from which the cable network operator broadcasts television signals and provides other services over the cable network. Updated software that is provided to the population of set-top terminals is broadcast from the headend over the cable network. The software or firmware objects are typically sent in an object carousel, which provides pieces of the object that can be put together at the terminal to form the complete object. Depending on the bandwidth dedicated to a particular object and the size of the object, the time it takes to broadcast the complete object can vary. The headend may also broadcast messages or instructions over the cable network to the set-top terminals.
As used herein, a programming code object, or code object, refers to an individual program, i.e. a piece of software or firmware, that can be downloaded to and executed by a set-top terminal. One example of a code object is an application object. As used herein, the term “application” refers generally to a unit of executable software that implements theme-based functionality The themes of applications vary broadly across any number of disciplines and functions (such as e-commerce transactions, brokerage transactions, mortgage interest calculation, home entertainment, calculator etc.), and one application may have more than one theme. Another type of object is a data object, which refers to any data structure, including a code object, message or instruction, that is transmitted by the headend over the cable network to one or more set-top terminals.
Before a set top terminal is installed and operational on the subscriber premises it must undergo at least two initialization processes. The first initialization phase occurs when the set top terminal manufacturer provides the set top terminal to the service provider (e.g., an MSO). At this time the set top terminals are warehoused prior to shipment to the subscriber premises. During this phase of initialization the set top terminal needs to be provisioned with minimal functionality. This is a time-consuming and expensive process because each set top terminal must be individually connected to a facility that downloads the necessary objects. This is a labor and shipping intensive process since the set top terminals cannot be directly shipped to subscriber but rather need to be warehoused for the purposes of initialization.
The second and final phase of initialization occurs on the subscriber premises when the set top terminal needs to be provisioned with additional end-user functionality after it is in communication with the headend over the cable network. That is, the objects needed to provide this additional functionality are downloaded by the field technician after establishing communication between the set-top terminal and the network. This process can require up to 20 minutes or more during which field technician is idle, which translates into a waste of time as well as resources and money. Moreover, this time will likely increase as the services offered by set-top terminals continues to grow, thereby increasing the number and size of the objects that need to be downloaded.
Another problem involving the downloading of objects to a set top terminal arises after the set top terminal is in deployed and operational on the subscriber premises and needs to be upgraded. Upgrading may be necessary for a multitude of reasons. For example, software patches and the like may be needed correct problems with software that is currently being used on the set top terminal. In addition, as noted, set-top terminals are increasingly being used to provide subscribers with more and more services that offer richer functionality. These services often require additional objects to be downloaded to the set-top terminals, which consumes an increasing amount of network resources (e.g., bandwidth) and require additional time to complete. A single terminal may require several objects of each type to provide the complete set of services offered by the cable or service provider. During the upgrade process some or all of the functionality of the set top terminal may be unavailable to the subscriber, thus potentially disrupting service to the subscriber. For example, during upgrading, while the subscriber may still be able to view programming, access to certain functions such as the electronic program guide (EPG) or on-demand services, for instance, may be curtailed. In some cases it may even be necessary to curtail all service for a limited period of time while objects are being downloaded.
Thus, in summary, the downloading of objects during the initialization process, both before and after installation of the set top terminal on the subscriber premises, as well as during subsequent upgrades, presents numerous problems that result in expenditures of time and money and which adversely impact the subscriber's ability to view programming.